//package com.edmendst.xmall.interceptor;
//
//import com.edmendst.xmall.util.JWTUtil;
//import jakarta.annotation.PostConstruct;
//import jakarta.servlet.http.HttpServletResponse;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.web.servlet.HandlerInterceptor;
//
//
//@Component
//public class JwtInterceptor implements HandlerInterceptor {
//
//    @Autowired
//    private JWTUtil jwtUtil;
//
//    @PostConstruct
//    public void init() {
//        if (jwtUtil == null) {
//            System.err.println("JWTUtil未正确注入！");
//        }
//    }
//    @Override
//    public boolean preHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler) throws Exception {
//        String token = request.getHeader("Authorization");
//        if (token == null || !token.startsWith("Bearer ")) {
//            response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//            response.getWriter().write("{\"code\":401,\"message\":\"Missing or invalid token format\"}");
//
//        }
//
//        String jwtToken = token.substring(7);
//        if (!jwtUtil.validateToken(jwtToken)) {
//            response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//            return false;
//        }
//
//        String username = jwtUtil.getUserNameFromToken(jwtToken);
//        request.setAttribute("userName", username);
//        return true;
//    }
//
//}
//
